Ethernet networks are typically comprised of bridges and point-to-point links that interconnect the bridges. The operation of bridges is defined in IEEE 802.1D-2004 and in IEEE 802.1Q. It is intended that IEEE 802.1D-2004 will be superceded by a new version of IEEE 802.1Q. Whilst the standards use the term “bridges”, bridges are sometimes also referred to as switches. Above the physical layer, Ethernet stations and bridges communicate by sending each other data packets as specified in IEEE 802.3. Point-to-point links are applied to interconnect bridges in Local Area Networks (LAN). Ethernet networks are typically controlled by either the Rapid Spanning Tree Protocol or by the Multiple Spanning Tree Protocol as specified in 802.1D-2004 and 802.1Q, respectively.
A bridge uses a Filtering Database (FDB) to direct frames to their destination. The database initially starts off empty, and entries identifying Ethernet stations are added as the bridge learns the location of each station. If a bridge receives a packet that has a destination address that is not in the database, the packet is broadcast to all ports of the bridge and forwarded to all segments in the network. A bridge can populate the database using the source address contained in data packets that traverse the bridge. By comparing the source address with the port at which a frame was received, the bridge can “learn” which addresses belong to stations connected via each port.
Bridges typically use the Rapid Spanning Tree Protocol (RSTP) to prevent the occurrence of loops in the network. A Root Bridge is elected, and all other bridges determine the shortest path to the Root Bridge. This produces a loop free topology where all paths to the Root Bridge are disabled except for the shortest path. All other links that are not part of the Spanning Tree are disabled, and so there is only one path to the Root Bridge. The links that form the Spanning Tree, i.e. kept active by RSTP, form a so-called active topology. The Spanning Tree avoids problems that could otherwise occur if more than one path were used at once. For example, packets could be broadcast between switches and caught in a loop.
Multiple Spanning Tree Protocol (MSTP) allows the creation of separate Spanning Tree Instances for different VLANs, and blocks redundant links in each Spanning Tree Instance independently of each other. RSTP and MSTP are also used for fault handling, as they dynamically reconfigure the active topology in the event of a fault such as a broken link.
RSTP and MSTP control the learning process in Ethernet networks. After a change in network topology, RSTP or MSTP controls the removal of the learnt MAC addresses from the Filtering Database (FDB). The removal process is termed “MAC address flushing”. After a MAC address flushing, a re-learning is initiated and the frames are broadcast until the end of the relearning phase, i.e. until the location of stations is learnt again. This is termed a “broadcast storm” due to the increased amount of broadcast messages sent in the network. MAC addresses may also be removed from the FDB due to a “time-out” feature in which, if no frame is received from a particular station for a certain amount of time, then that station is assumed to be disconnected from the network.
A problem with MAC address flushing is that RSTP and MSTP apply a single bit flag (termed the topology change, TC, flag) in Bridge Protocol Data Units (BPDU) to indicate a topology change. A BPDU is a data frame used to exchange information about bridge IDs and root path costs between neighbouring bridges. Use of the TC flag means that it is only possible to indicate that a topology change has occurred, and that the MAC addresses must be flushed.
Both RSTP and MSTP typically remove more entries from the FDB than are normally necessary. This means that more addresses have to be re-learnt during the re-learning, which causes an even larger broadcast storm that places an unnecessary overload on the network. This increases the bandwidth requirements.